<?php

namespace App\Http\Controllers\Admin;
use Hash;
use DB;
use Illuminate\Http\Request;
use App\Http\Requests\UserRequest;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /*
    显示后台用户添加页面
    */
    public function getAdd()
    {
        return view('Admin.user.add');
    }
    /*
    接收提交的数据进行添加
    */

    public function postInsert(UserRequest $request)
    {
        // dd($request->all());
        // 信息验证
       $data = $request->only(['username','password','email','role']);
       $data['token'] = str_random(50);
       $data['data'] = time();
       $data['password'] = Hash::make($data['password']);
        //判断进数据库
        $res = DB::table('user')->insert($data);
        if($res){
            return redirect('/admin/user/index')->with('success','用户添加成功');
        }else{
            return back()->with('error','用户添加失败');
        }
    }
    //显示用户列表
    public function getIndex(Request $request)
    {
        // var_dump($request->all());
        // 获取显示条数
        $num = $request->input('num',10);

        // 判断是否有关键字

        if($request->input('keywords')){
            $users = DB::table('user')
            ->where('username','like','%'.$request->input('keywords').'%')
            ->paginate($num);
        }else{
        //查询所有用户
        $users = DB::table('user')->paginate($num);
            
        }


        //提取所有的参数
        $data = $request->all();



        //解析模板
        return view('admin.user.index',['users'=>$users,'data'=>$data]);

        //return view('admin.user.index',['users'=>$users]);

    }

    // 用户的删除
    public function getDelete($id)
    {
        // dd($id);
        
        $res = DB::table('user')->where('id',$id)->delete();
        if($res){
            return redirect('/admin/user/index')->with('success','用户删除成功');
        }else{
            return back()->with('error','用户添加失败');
        }
    }

    // 用户修改
    public function getEdit($id)
    {
        $res = DB::table('user')->where('id',$id)->first();
        // dd($res);
        // 解析模板
        return view('admin.user.edit',['userinfo'=>$res]);
    }

    // 用户数据修改
    public function postUpdate(Request $request)
    {
        // dd($request->all());
        $id = $request->input('id');

        $data = $request->only('username','email','role'); 

        // dd($data);
        // 执行修改
        $res = DB::table('user')->where('id',$id)->update($data);

        if($res){
            return redirect('/admin/user/index')->with('success','用户修改成功');
        }else{
            return back()->with('error','用户修改失败');
        }

    }
}